package abinly.harmony.permission.compiler;

import com.squareup.javapoet.CodeBlock;
import com.squareup.javapoet.FieldSpec;
import com.squareup.javapoet.MethodSpec;

import javax.annotation.processing.Filer;
import javax.lang.model.element.TypeElement;
import javax.lang.model.util.Elements;
import java.io.IOException;
import java.util.List;

public interface IPermissionGroupGenerator {

    String generatePermissionFieldName();

    String generateRequestCodeFieldName();

    CodeBlock generatePermissionResultCheckCodeBlock();

    FieldSpec generatePermissionFieldSpec();

    FieldSpec generateRequestCodeFieldSpec();

    List<MethodSpec> generateRequestPermissionMethodSpec();



}
